package demo4;

import java.util.Locale;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 邓大帅
 * Date: 2024-01-11
 * Time: 19:22
 */
public class Test {
    public static void main(String[] args) {
//        直接赋值的这个String对象是存储在字符串常量池内的
        String str = "abcd";
    }
    public static void main14(String[] args) {
        String str = "   hello bit   ";
//        将字符串左边和右边的空格删除，中间的空格不删
        String str1 = str.trim();
        System.out.println(str);
        System.out.println(str1);
    }
    public static void main13(String[] args) {
        String str1 = "asdfgghhj";
//        返回从2位置开始截取的所有2位置后面的字符
        String s = str1.substring(2);
        System.out.println(s);
        String s1 = str1.substring(2,6);//从2截取到6 [2，6)左闭右开
        System.out.println(s1);
    }
    public static void main12(String[] args) {
        String str1 = "192&168=00";
        String[] strings = str1.split("&|=");//若想以两个字符进行分割，用|分割开指定的两个字符
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }
    }
    public static void main11(String[] args) {
        String str1 = "192.168.0.0";
        String[] strings = str1.split("\\.");
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }
    }
    public static void main10(String[] args) {
        String str1 = "hello little bitter";
//        以指定字符串进行分割 还可以通过传参限制最多分成几份
        String[] strings = str1.split(" ",2);
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }
    }
    public static void main9(String[] args) {
        String str1 = "adjagkjfbjdadaaaa";
//        所有String用到的方法都是在一个新的对象上进行操作，不是在原字符串对象上进行操作
        String str2 = str1.replace('a','p');//将字符串中的字符或者子串进行替换
        System.out.println(str1);
        System.out.println(str2);
    }
    public static void main8(String[] args) {
        String str1 = "abcd";
//        将字符串转换成数组
        char[] ch = str1.toCharArray();
    }
    public static void main7(String[] args) {
        String str1 = "abcd";
        String str2 = "ABCD";
        System.out.println(str1.toUpperCase());
        System.out.println(str2.toLowerCase());
    }
    public static void main6(String[] args) {
//        其它数据类型转成String用valueOf方法
        String str = String.valueOf(123);
        System.out.println(str);
        String str1 = "123";
//        字符串转数字
        int a = Integer.parseInt(str1);
        System.out.println(a);
    }
    public static void main5(String[] args) {
        String str = "hello";
//        返回字符串指定下标位置的字符
        char ch = str.charAt(1);
        System.out.println(ch);
//        返回第一次出现指定字符在字符串中的位置
        System.out.println(str.indexOf('l'));
//        从指定位置开始找第一个出现指定字符的位置
        System.out.println(str.indexOf('l',3));
//        还可以传字符串，找到该字符串出现的第一个位置 KMP算法实现
        System.out.println(str.indexOf("hel"));
//        例如lastIndex这类的方法就是从后往前找
    }
    public static void main4(String[] args) {
        String str1 = "Hello";
        String str2 = "hell0";
//        str1与str2进行比较
        System.out.println(str1.compareTo(str2));
//        忽视大小写进行比较
        System.out.println(str1.compareToIgnoreCase(str2));
    }
    public static void main3(String[] args) {
        String str1 = "hello";
        String str2 = "hello";
//        equals方法用于比较两个引用 所指向对象内容是否一致
        System.out.println(str1.equals(str2));
    }
    public static void main2(String[] args) {
        String str1 = "hello";
        System.out.println(str1.length());
        int[] array = {1,2,3,4};
        System.out.println(array.length);
    }
    public static void main1(String[] args) {
        String str1 = "hello";
        String str2 = new String("hello");
        System.out.println(str1);
        System.out.println(str2);
        char[] values = {'a','b','c','d'};
        String str3 = new String(values);
        System.out.println(str3);
    }
}
